Transaction ledgers are currently implemented in a distributed (e.g., the BitCoin blockchain) or centralized manner (e.g., traditional SQL databases). These ledgers are used to store financial records, data, and media.
In certain applications, users want guarantees that database records haven't been modified, deleted, or tampered with. While a centralized ledger requires faith in the operator to affirm that a ledger has not been tampered with, a distributed ledger offers independently verifiable guarantees about the immutability of the ledgers. This is guaranteed because many parties have a copy of the entire blockchain. The downside is that a fully distributed ledger reveals a lot of data about the overall ledger and other peoples' transactions, such as how many transactions have taken place and the number of transactions per user. A fully distributed ledger also has high computational and storage requirements for its participants, making it unsuitable for many real-time web or app-based applications. Storage of more than a few rows of a ledger in browser cookies, for example, would cause a severe slowdown in the operation of a website. Finally, without central management, pushing patches and maintaining the distributed ledger requires votes from the participants, which can sometimes be slow-moving, political, and is vulnerable to manipulation by a 51% attack.
When documenting legally important transactions between parties through software, users may seek the assurances of distributed database without those downsides. More specifically, parties in a dispute or their mediator (a judge, arbitrator, etc.) may find centralized databases to offer an insufficiently validated record as evidence. In traditional centralized ledgers, a missing or deleted record from most centralized databases would be undetectable by users. A fully distributed database may not be possible as an alternative for certain applications, such as browser-based applications, due to the data transfer and storage overhead and certain privacy issues. The challenge is providing lightweight independent database verification without sacrificing control, transparency, or user privacy. For this reason, a third option is required: an efficient semi-distributed ledger that offers users proof that a centrally-held database has not been tampered with. This provides the benefits of a traditional database without the above-mentioned downsides of a distributed database.